iT邦幫忙

2024 iThome 鐵人賽

DAY 1
1

Node.js簡介

Node.js是什麼?

Node.js是一個基於 Chrome V8 JavaScript 引擎的開源平台。它可以在伺服器端執行 JavaScript 。與傳統的瀏覽器內 JavaScript 不同, Node.js 主要是用於後端開發。https://ithelp.ithome.com.tw/upload/images/20240915/20169444rt6ViywuAO.png

Node.js的核心特點

  1. 單線程事件驅動架構: Node.js 使用單一執行緒處理所有任務,並透過事件輪詢機制來處理 I/O 操作,這讓它在高並發場景下運行非常高效。
  2. 非阻塞 I/O:在處理 I/O 操作時,Node.js 不會等待操作完成再繼續,而是繼續執行其他任務,這提升了整體性能。

Node.js優勢在哪?

  1. 單一語言,前後端通吃 : Node.js 讓開發者可以使用 JavaScript 這一種語言來寫前端和後端程式碼,這對於熟悉Java Script的開發者來說非常方便,不用再學習新的語言來寫後端應用。這也讓團隊溝通更順暢,因為大家用的是同一種語言。
  2. 速度是關鍵 : 由於Node.js是基於Chrome的V8引擎,這個引擎會將JavaScript轉換成機器碼執行,代表它的運行速度很快。再加上Node.js是單線程非阻塞I/O,能夠同時處理大量請求而不會卡住。
  3. 非同步處理能力強 : Node.js 使用非阻塞(non-blocking)I/O 模型,代表它在等待一個操作(比如讀取檔案或請求數據)時,不會讓整個應用卡住,而是繼續處理其他任務。這對於需要處理很多同時請求的應用(比如聊天室或即時應用)特別有用。
  4. 跨平台超方便 : Node.js 可以運行在多個平台上,包括Windows、macOS和Linux。這讓開發者可以在不同的作業系統上進行開發和部署,不受平台限制。
  5. 豐富的 npm 套件生態 : Node.js 有一個強大的管理工具叫做npm,裡面有數十萬個現成的模組可供使用。無論你是想要處理日期、連接資料庫、還是建構web伺服器,都能輕易找到相應的模組,讓開發更容易。

Node.js缺點在哪?

  1. 單線程限制:雖然 Node.js 在非阻塞 I/O 下運行良好,但由於它是單線程的,當需要處理 CPU 密集型任務時,性能會下降。
  2. 相對較新:相比於其他後端技術(如 PHP 或 Python),Node.js 的生態系統仍在快速發展,可能會遇到更多學習曲線。

Node.js的常見應用

  • web 伺服器開發: 可以快速建立輕量且高效能的web 伺服器。
  • 即時應用: 如聊天室、即時通知系統,這類需要高並發處理的應用。
  • API 伺服器: Node.js非常適合建立RESTFUL 或GraphQL API。
  • 命令列應用程式: 可以用來開發自動化工具。

總結

在第一天簡單介紹了Node.js,對其技術從無到有有了初步的理解,開啟了我對於這塊領域的興趣,它的單一語言優勢讓前後端開發變得更統一,通過了解它的用途和優勢,相信對於接下來的學習與運用有極大的幫助,尤其是如何應用它來建構實際的應用程式。


下一篇
Day 2: Node.js環境設置
系列文
30 天 Node.js 探索:基礎、進階與實踐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言